﻿//-----------------------------------------------------------------------
// <copyright file="Event.cs" company="Bluefragments">
//     Copyright (c) Bluefragments. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------

namespace Quebec.Silverlight.Base
{
    /// <summary>
    /// Event base.
    /// </summary>
    /// <remarks></remarks>
    public abstract class Event
    {
    }

    /// <summary>
    /// Event base.
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <remarks></remarks>
    public abstract class Event<T> : Event
    {
        /// <summary>
        /// Gets or sets the argument.
        /// </summary>
        /// <value>The argument.</value>
        /// <remarks></remarks>
        public T Argument { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="Event&lt;T&gt;"/> class.
        /// </summary>
        /// <param name="argument">The argument.</param>
        /// <remarks></remarks>
        protected Event(T argument)
        {
            this.Argument = argument;
        }
    }
}
